package com.fc.advbox.entity;

import com.fc.advbox.utils.validator.group.AddGroup;
import com.fc.advbox.utils.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * InvestorAcctEntity
 *
 * @author Gary.Jiang
 * @date 2018/6/20.18:43
 */
@Getter
@Setter
@ToString
@ApiModel(value = "ADV_INVESTOR_ACCT", description = "投资账户对象")
public class InvestorAcctEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID", allowEmptyValue = true)
    private Long id;

    @ApiModelProperty(value = "USER_ID")
    @NotNull(message="用户ID不能为空",  groups = {AddGroup.class, UpdateGroup.class})
    private Long userId;

    @ApiModelProperty(value = "ACCT_NUM", allowEmptyValue = true)
    private String acctNum;

    @ApiModelProperty(value = "REAL_NAME", allowEmptyValue = true)
    private String realName;

    @ApiModelProperty(value = "BALANCE", allowEmptyValue = true)
    private BigDecimal balance;

    @ApiModelProperty(value = "PROFIT", allowEmptyValue = true)
    private BigDecimal profit;

    @ApiModelProperty(value = "PROVINCE", allowEmptyValue = true)
    private String province;

    @ApiModelProperty(value = "CITY", allowEmptyValue = true)
    private String city;

    @ApiModelProperty(value = "BANK_NAME", allowEmptyValue = true)
    private String bankName;

    @ApiModelProperty(value = "BANK_CARD", allowEmptyValue = true)
    private String bankCard;

    @ApiModelProperty(value = "ID_CARD", allowEmptyValue = true)
    private String idCard;

    @ApiModelProperty(value = "descn", allowEmptyValue = true)
    private String descn;

    @ApiModelProperty(value = "type", allowEmptyValue = true)
    private String type;

    @ApiModelProperty(value = "status", allowEmptyValue = true)
    private Integer status; // 0: INACTIVE 1: ACTIVEs

    @ApiModelProperty(value = "CREATE_TIME", allowEmptyValue = true)
    private Date createTime;

    @ApiModelProperty(value = "EXPIRE_TIME", allowEmptyValue = true)
    private Date expireTime;

    private transient String userName;
    private transient String phone;
}
